using Microsoft.Xna.Framework;
using SolarWinds.Widgets;

namespace SolarWinds.Layouts
{
    public abstract class Layout
    {
        #region Fields

        internal Widget mParent;

        /// <summary>
        /// Spacing between widgets inside the layout.
        /// </summary>
        private int mSpacing = 10;

        /// <summary>
        /// Width of the outside border of the layout.
        /// </summary>
        private int mMargin = 10;

        #endregion

        #region Properties

        public Widget Parent
        {
            get { return mParent; }
        }

        public int Margin
        {
            get { return mMargin; }
            set { mMargin = value; }
        }

        public int Spacing
        {
            get { return mSpacing; }
            set { mSpacing = value; }
        }

        #endregion

        protected Layout()
        {
        }

        protected Layout(Widget parent)
        {
            mParent = parent;
        }        

        public abstract void Update(GameTime gameTime);
    }
}